package ysq.xyg.web.service;


import ysq.xyg.base.model.dto.ReturnEntity;
import ysq.xyg.base.service.BaseService;
import ysq.xyg.web.model.po.WebProduct;
import ysq.xyg.sys.model.po.SysUser;
import ysq.xyg.web.model.vo.WebProductVo;

import java.util.List;

/**
 * 网站模块-商品信息service接口
 *
 * @author shengQiang yu
 * @date 2019-6-7 18:07:28
 */
public interface WebProductService extends BaseService<WebProduct> {
    /**
     * 分页查询
     *
     * @param webProductVo 对象
     * @param pageSize 当前页面
     * @param pageNum 页面数量
     * @return ReturnEntity 对象
     * @author shengQiang yu
     * @date 2019-6-7 18:07:28
     */
    ReturnEntity page(WebProductVo webProductVo, int pageSize, int pageNum);
    /**
     * 修改
     *
     * @param webProductVo 对象
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     * @author shengQiang yu
     * @date 2019-6-7 18:07:28
     */
    ReturnEntity addOrUpdate(WebProductVo webProductVo, SysUser currentUser);
    /**
     * 删除
     *
     * @param id 主键id删除
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     * @author shengQiang yu
     * @date 2019-6-7 18:07:28
     */
    ReturnEntity delete(String id, SysUser currentUser);
    /**
     * 关联查询获取集合
     *
     * @param webProductVo 对象
     * @return List<BaseDict> BaseDict集合
     * @author shengQiang yu
     * @date 2019-6-7 18:07:28
     */
    public List<WebProduct> listLeft(WebProductVo webProductVo);
    /**
     * 获取集合
     *
     * @param webProductVo 对象
     * @return List<WebProduct> WebProduct集合
     * @author shengQiang yu
     * @date 2019-6-7 18:07:28
     */
    List<WebProduct> acceptList(WebProductVo webProductVo);
    /**
     * 通过标签id获取所属目录
     *
     * @param webColumnTypeVo 对象
     * @author shengQiang yu
     * @date 2019-04-02 12:42
     */
    List<WebProduct> listLeftByTagId(WebProductVo webProductVo);
    /**
     * 通过栏目获取产品信息
     *
     * @param webProductVo 对象
     * @author shengQiang yu
     * @date 2019-04-02 12:42
     */
    List<WebProduct> listLeftByCol(WebProductVo webProductVo);
    /**
     * 通过栏目获取信息
     *
     * @param webProductVo 对象
     * @param pageSize 展示数量
     * @param pageNum 当前页面
     * @return ReturnEntity 对象
     * @author shengQiang yu
     * @date 2019-6-5 21:56:08
     */
    ReturnEntity pageByCol(WebProductVo webProductVo, int pageSize, int pageNum);
}
